//
//import 'package:rebase_project/src/base/net/NetHelp.dart';
//
//import 'Dazzle.dart';
//
//typedef RepackageCallback = List<dynamic> Function(int, Map<String, dynamic>);
//typedef RepackageSuccessCallback = Function(List<dynamic> list);
//
//class DataRepackage {
//  var _page = 1;
//  String _path;
//  var list = <dynamic>[];
//  Map<String, dynamic> _req = {};
//
//  RepackageCallback _call;
//
//  RepackageSuccessCallback _call2;
//
//  NoData _noData;
//  _network() async {
//    return await NetHelp.instance.post(_path, _req);
//  }
//
//  init(String path, Map<String, dynamic> reqMap, RepackageCallback call,
//      RepackageSuccessCallback call2,
//      {NoData noData = const NoData(img: "", hint: "暂无数据")}) {
//    _req.clear();
//    _req.addAll(reqMap);
//    _req["page"] = _page;
//    list.clear();
//    _call = call;
//    _call2 = call2;
//    this._path = path;
//    _noData = noData;
//  }
//
//  Future notify() async {
//    _req["page"] = 1;
//    list.clear();
//    var model = _repackage(await _network());
//    _call2(model);
//  }
//
//  void moreData() async {
//    _page++;
//    _req["page"] = _page;
//    var model = _repackage(await _network());
//    _call2(model);
//  }
//
//  List<dynamic> _repackage(Map<String, dynamic> map) {
//    list.addAll(_call(_page, map));
//    list.removeWhere((it) {
//      return it is MoreData;
//    });
//    if (map.containsKey("page") && map.containsKey("all_page")) {
//      if (map["page"] == 1 && list.isEmpty) {
//        list.add(_noData);
//      } else {
//        if (map["page"] < map["all_page"]) {
//          list.add(MoreData(() {
//            moreData();
//          }));
//        } else {
//          list.add(NoMoreData());
//        }
//      }
//    }
//    return list;
//  }
//}
